当前位置: 数据库 > Mysql > Mysql 语句一些常识

Mysql 语句一些常识

2020-04-19 分类:Mysql 作者:admin 阅读(26)

update 语句的子查询

效率低:

UPDATE wp_comments a,(SELECT id,price from wp_posts) b
SET comment_post_ID = b.id
where a.price = b.price

效率高:

UPDATE wp_comments a LEFT JOIN wp_posts b
ON a.price = b.price
SET a.comment_post_ID = b.id
where b.price>0 and b.post_author = 0 and a.comment_author=0

只加了price一个索引,时间从若干小时缩小至30秒。

mysql的update的一些特点

1、update 时,更新的表不能在set和where中用于子查询;

2、update 时,可以对多个表进行更新(sqlserver不行);

如:update ta a,tb b set a.Bid=b.id ,b.Aid=a.id;

3、update 后面可以做任意的查询,这个作用等同于from


字符串替换

UPDATE table_name SET field_name = replace (field_name,'from_str','to_str') WHERE field_name LIKE '%from_str%'

 

说明:

table_name —— 表的名字

field_name —— 字段名

from_str —— 需要替换的字符串

to_str —— 替换成的字符串


为什么不要尝试用int来存手机号?

1、int只有四个字节,而手机号是由11位十进制数组成的,即可知道手机号有五个字节,如果用int存储,则第五位溢出,被“吃掉了”制。1byte = 8bit,所以int类型存储空间是32位,并且符号位占一位,所以int的数据范围为[-2^31~2^31-1],此外int(11)的11是只mysql的int类型显示的宽度。手机号 是11位,共五个字节,所以用int存储手机号 会丢失1字节,而且并不是丢失一位剩下10位这种情况。数据会被转换成二进制数,并且丢失超出int类型位数的部分。

2、int的数据范围为-2147483648~2147483647[-2^31~2^31-1],是用于定义整数类型变量的标示符。

存储手知机号道用的类型:

1、使用数据库类型varchar2存储手机号,将手机号当作字符串存储,后期取出便于显示。varchar2   数据类型指定一变长字符串,最大长度2000字节 。

2、在java等高级语言中,使用string存储手机号。


MYSQL数据库时间字段INT,TIMESTAMP,DATETIME性能效率比较

「三年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏

支付宝
微信
0

支付宝
微信
标签:

上一篇:

下一篇:

你可能感兴趣

共有 0 - Mysql 语句一些常识

博客简介

精彩评论

  • admin(6年前 (2020-03-09))

    分别用不同厚度的筏板定义,画图后这设置筏板变截面处理。 http://f.fwxgx.co...

    评:新文章!
  • admin(6年前 (2020-03-09))

    分别用不同厚度的筏板定义,画图后这设置筏板变截面处理。 http://f.fwxgx.co...

    评:新文章!
  • admin(6年前 (2020-03-09))

    新增一个框架图! http://biji.jinli.vip/wp-content/upl...

    评:新文章!
  • 一位WordPress评论者(6年前 (2020-02-13))

    嗨,这是一条评论。 要开始审核、编辑及删除评论,请访问仪表盘的“评论”页面。 评论者头像来自...

    评:世界,您好!